package com.bb.flow.config.node;

import com.bb.flow.config.AbstractConfigNode;
import com.bb.flow.config.enumtype.NodeType;

/**
 * @author bigbeard
 * 子流程节点
 */
public class SubFlowConfigNode extends AbstractConfigNode {
    private static final long serialVersionUID = 1L;
    /**
     * 子流程的流程模版名称
     */
    private String subFlowTemplateName;
    /**
     * 是否监测启动条件
     */
    private boolean needCalcStartCondition;

    /**
     * 获取是否计算启动条件
     *
     * @return true:计算,false不计算
     */
    public boolean isNeedCalcStartCondition() {
        return needCalcStartCondition;
    }

    /**
     * 设置是否计算启动条件
     *
     * @param needCalcStartCondition true:计算,false不计算
     */
    public void setNeedCalcStartCondition(boolean needCalcStartCondition) {
        this.needCalcStartCondition = needCalcStartCondition;
    }

    /**
     * 节点类型
     *
     * @return 获取接点类型
     */
    @Override
    public NodeType getNodeType() {
        return NodeType.SUBFLOW_NODE;
    }

    /**
     * 子流程的流程模版名称
     *
     * @return 子流程的流程模版名称
     */
    public String getSubFlowTemplateName() {
        return subFlowTemplateName;
    }

    /**
     * 已经存在的子流程模版
     *
     * @param subFlowTemplateName 子流程的流程模板名称
     * @return 当前对象
     */
    public SubFlowConfigNode setSubFlowTemplateName(String subFlowTemplateName) {
        this.subFlowTemplateName = subFlowTemplateName;
        return this;
    }
}
